package xnj.lazydog.btcontroller.ControlViews;

import android.content.Context;
import android.util.Log;

import java.io.File;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import xnj.lazydog.btcontroller.ObjectFile.ObjectFile;

public class ProjectList implements Serializable {
    private static final String TAG = "ProjectList";
    public  List<ItemProject> itemProjects=new ArrayList<>();

    public ProjectList()
    {
        itemProjects = new ArrayList<>();

    }


//    boolean isProjectValid(String fileName)
//    {
//        //projectList.addProject();
//        String [] ss = uriFile.name.split("_");
//        if(ss.length==3&&uriFile.name.endsWith(".pro"))
//        {
//            //                String name = ss[0];
//            //                int type;
//            //                if (ss[1] == "H")
//            //                    type = ItemProject.TYPE_LANDSCAPE_VIEW;
//            //                else
//            //                    type = ItemProject.TYPE_PORTRAIT_VIEW;
//            //
//            //                long time = ObjectFile.getLongTime();
//            return ss[1].equals("H") || ss[1].equals("V");
//        }else
//        {
//            return false;
//        }
//    }
    public boolean addProject(Context context, File importFile)
    {
        String name = importFile.getName();

        String [] ss = name.split("_");

        if(ss.length==3&&name.endsWith(".pro")&&("V".equals(ss[1])||"H".equals(ss[1]))) {

            Log.w(TAG, "addProject: OK");
            //addProject(context,ss[0],"H".equals(ss[1])?1:0);
            ItemProject i = new ItemProject(ss[0],"H".equals(ss[1])?1:0);
            itemProjects.add(0,i);
            Project project = (Project) ObjectFile.loadObject(importFile);
            ObjectFile.saveObject(context,itemProjects.get(0).fileName,project);

            return true;
        }else
            return false;

    }

    public void addProject(Context context, String name ,int type)
    {
        ItemProject i = new ItemProject(name,type);
        itemProjects.add(0,i);
        Project project = new Project();
        ObjectFile.saveObject(context,itemProjects.get(0).fileName,project);
        //ObjectFile.listAllFiles(context);
    }

    public String getFileNameToOpen(int index)
    {
        if(index>=itemProjects.size())
            return "";

        ItemProject ip = itemProjects.get(index);
        ip.time = ObjectFile.getLongTime();
        return ip.fileName;
    }



    public void deleteProject(Context context,int index)
    {
        if(index<itemProjects.size()) {

            context.deleteFile(itemProjects.get(index).fileName);
            itemProjects.remove(index);
        }
    }

}
